This repository was archived by the owner on Feb 25, 2025. It is now read-only.
[reverted] fix canvas drawLine bugs#38753
Merged
alanwutang11 merged 3 commits intoflutter:mainfrom Jan 12, 2023
Merged
Conversation
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
edit: this PR was reverted
There were several bugs with
canvas.drawLinewhen using DOM rendering (this codepath):ui.Offsetspassed as parameterspaint.strokeCappaint.strokeWidthfor horizontal and vertical linesaccording to the api docs for
canvas.drawLine, rendering of lines should be the same regardless of thepaint.style.Previously, however, failing to set
paint.styleto typestroke(either by omission or setting thepaint.styletofill) would cause us to use DOM rendering as specified by this bool, which introduced the above mentioned bugs.Solution for negative
ui.Offsetsinstead of using an svg
width,height, andviewBoxas the bounding box for our path, just remove all of those properties and instead set the svgoverflowproperty tovisible.fixes: flutter/flutter#110070
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.